package cn.iocoder.yudao.module.trade.dal.dataobject.brokerage;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDateTime;

/**
 * 分销用户 DO
 *
 * @author owen
 */
@TableName("trade_brokerage_user")
@KeySequence("trade_brokerage_user_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BrokerageUserDO extends BaseDO {

    /**
     * 用户编号
     * <p>
     * 对应 MemberUserDO 的 id 字段
     */
    @TableId
    private Long id;

    /**
     * 推广员编号
     * <p>
     * 关联 MemberUserDO 的 id 字段
     */
    private Long bindUserId;
    /**
     * 推广员绑定时间
     */
    private LocalDateTime bindUserTime;

    /**
     * 是否有分销资格
     */
    private Boolean brokerageEnabled;
    /**
     * 成为分销员时间
     */
    private LocalDateTime brokerageTime;

    /**
     * 可用佣金
     */
    private Integer brokeragePrice;
    /**
     * 冻结佣金
     */
    private Integer frozenPrice;

    //新增字段，后期使用
    /**
     * 商家认证类型:0-未认证，1-已认证
     */
    private Integer businessType;
    /**
     * 商家是否属于用户
     */
    private Integer userBusiness;
    /**
     * 商家属于用户开始时间
     */
    private LocalDateTime businessStartTime;
    /**
     * 商家属于用户结束时间
     */
    private LocalDateTime businessEndTime;

    /**
     * 团长认证类型:0-未认证，1-已认证
     */
    private Integer teamType;
    /**
     * 团长是否属于用户
     */
    private Integer userTeam;
    /**
     * 团长属于用户开始时间
     */
    private LocalDateTime teamStartTime;
    /**
     * 团长属于用户结束时间
     */
    private LocalDateTime teamEndTime;
}
